From fff570538c65a318c48ddf38e6558d1dc342d00c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Thu, 24 Dec 2020 09:09:35 +0100 Subject: [PATCH] glcontext-wayland: Only allocate configs we use We only use the first one, so don't allocate space for more than that. --- gdk/wayland/gdkglcontext-wayland.c | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/gdk/wayland/gdkglcontext-wayland.c b/gdk/wayland/gdkglcontext-wayland.c index a668731196..d49f2cec0e 100644 --- a/gdk/wayland/gdkglcontext-wayland.c +++ b/gdk/wayland/gdkglcontext-wayland.c @@ -386,7 +386,7 @@ find_eglconfig_for_surface (GdkSurface *surface, GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (display); EGLint attrs[MAX_EGL_ATTRS]; EGLint count; - EGLConfig *configs; + EGLConfig config; int i = 0; attrs[i++] = EGL_SURFACE_TYPE; @@ -407,17 +407,8 @@ find_eglconfig_for_surface (GdkSurface *surface, attrs[i++] = EGL_NONE; g_assert (i < MAX_EGL_ATTRS); - if (!eglChooseConfig (display_wayland->egl_display, attrs, NULL, 0, &count) || count < 1) - { - g_set_error_literal (error, GDK_GL_ERROR, - GDK_GL_ERROR_UNSUPPORTED_FORMAT, - _("No available configurations for the given pixel format")); - return FALSE; - } - - configs = g_new (EGLConfig, count); - - if (!eglChooseConfig (display_wayland->egl_display, attrs, configs, count, &count) || count < 1) + /* Pick first valid configuration i guess? */ + if (!eglChooseConfig (display_wayland->egl_display, attrs, &config, 1, &count) || count < 1) { g_set_error_literal (error, GDK_GL_ERROR, GDK_GL_ERROR_UNSUPPORTED_FORMAT, @@ -425,12 +416,8 @@ find_eglconfig_for_surface (GdkSurface *surface, return FALSE; } - /* Pick first valid configuration i guess? */ - - if (egl_config_out != NULL) - *egl_config_out = configs[0]; - - g_free (configs); + g_assert (egl_config_out); + *egl_config_out = config; return TRUE; } -- 2.30.2